package saei.bean;

import java.util.Date;
import javax.persistence.*;

import org.hibernate.annotations.Cascade;
import org.hibernate.annotations.ForeignKey;
import org.hibernate.annotations.Index;

@SuppressWarnings("serial")
@Entity
@Table(name="Remito")
public class Remito  extends EntidadPersistente
{
    @Column(name="num_remito", unique=true)
    @Index(name="uk_remito")
    private int numero;
    @Temporal(value= TemporalType.TIMESTAMP)
    @Column(name="fec_recepcion")
    private Date fechaRecepcion;
    @ManyToOne(cascade = {CascadeType.PERSIST, CascadeType.MERGE, CascadeType.REFRESH})
	@Cascade(org.hibernate.annotations.CascadeType.SAVE_UPDATE)
    @ForeignKey(name="fk_remito_oc")
    @JoinColumn(name="id_solicitud")
    private SolicitudCompra ordenDeCompra;

    public Remito () {}

    public Remito (int numero){
    	this.numero = numero;
    }

    public Remito (int numero, Date fechaRecepcion, SolicitudCompra ordenDeCompra){
        this.numero = numero;
        this.fechaRecepcion = fechaRecepcion;
        this.ordenDeCompra = ordenDeCompra;
    }

    public int getNumero() {
        return numero;
    }

    public void setNumero(int numero) {
        this.numero = numero;
    }

    public Date getFechaRecepcion() {
        return fechaRecepcion;
    }

    public void setFechaRecepcion(Date fechaRecepcion) {
        this.fechaRecepcion = fechaRecepcion;
    }

    public SolicitudCompra getOrdenDeCompra() {
        return ordenDeCompra;
    }

    public void setOrdenDeCompra(SolicitudCompra ordenDeCompra) {
        this.ordenDeCompra = ordenDeCompra;
    }
}
